package com.ruoyi.goods_manage.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品管理对象 goods
 *
 * @author ruoyi
 * @date 2024-12-27
 */
@Data
public class Goods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String name;

    /** 商品编号 */
    @Excel(name = "商品编号")
    private String goodsno;

    /** 作者 */
    @Excel(name = "作者")
    private String author;

    /** 出版社 */
    @Excel(name = "出版社")
    private String publisher;

    /** 出版时间 */
    @Excel(name = "出版时间")
    private String pubtime;

    /** 分类id */
    @Excel(name = "分类id")
    private Long categoryid;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 封面图片 */
    @Excel(name = "封面图片")
    private String image;

    /** 库存 */
    @Excel(name = "库存")
    private Long stock;

    /** 市场价格 */
    @Excel(name = "市场价格")
    private BigDecimal marketprice;
    private BigDecimal beginMarketprice;
    private BigDecimal endMarketprice;

    /** 销售价格 */
    @Excel(name = "销售价格")
    private BigDecimal salesprice;

    /** 分数 */
    @Excel(name = "分数")
    private BigDecimal score;

    /** $column.columnComment */
    private Long remarknums;

    /** 上架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uptime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long salenums;

    /** $column.columnComment */
    private String newest;

    /** $column.columnComment */
    private String hot;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String status;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setGoodsno(String goodsno)
    {
        this.goodsno = goodsno;
    }

    public String getGoodsno()
    {
        return goodsno;
    }
    public void setAuthor(String author)
    {
        this.author = author;
    }

    public String getAuthor()
    {
        return author;
    }
    public void setPublisher(String publisher)
    {
        this.publisher = publisher;
    }

    public String getPublisher()
    {
        return publisher;
    }
    public void setPubtime(String pubtime)
    {
        this.pubtime = pubtime;
    }

    public String getPubtime()
    {
        return pubtime;
    }
    public void setCategoryid(Long categoryid)
    {
        this.categoryid = categoryid;
    }

    public Long getCategoryid()
    {
        return categoryid;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setImage(String image)
    {
        this.image = image;
    }

    public String getImage()
    {
        return image;
    }
    public void setStock(Long stock)
    {
        this.stock = stock;
    }

    public Long getStock()
    {
        return stock;
    }
    public void setMarketprice(BigDecimal marketprice)
    {
        this.marketprice = marketprice;
    }

    public BigDecimal getMarketprice()
    {
        return marketprice;
    }
    public void setSalesprice(BigDecimal salesprice)
    {
        this.salesprice = salesprice;
    }

    public BigDecimal getSalesprice()
    {
        return salesprice;
    }
    public void setScore(BigDecimal score)
    {
        this.score = score;
    }

    public BigDecimal getScore()
    {
        return score;
    }
    public void setRemarknums(Long remarknums)
    {
        this.remarknums = remarknums;
    }

    public Long getRemarknums()
    {
        return remarknums;
    }
    public void setUptime(Date uptime)
    {
        this.uptime = uptime;
    }

    public Date getUptime()
    {
        return uptime;
    }
    public void setSalenums(Long salenums)
    {
        this.salenums = salenums;
    }

    public Long getSalenums()
    {
        return salenums;
    }
    public void setNewest(String newest)
    {
        this.newest = newest;
    }

    public String getNewest()
    {
        return newest;
    }
    public void setHot(String hot)
    {
        this.hot = hot;
    }

    public String getHot()
    {
        return hot;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("goodsno", getGoodsno())
            .append("author", getAuthor())
            .append("publisher", getPublisher())
            .append("pubtime", getPubtime())
            .append("categoryid", getCategoryid())
            .append("description", getDescription())
            .append("image", getImage())
            .append("stock", getStock())
            .append("marketprice", getMarketprice())
            .append("salesprice", getSalesprice())
            .append("score", getScore())
            .append("remarknums", getRemarknums())
            .append("uptime", getUptime())
            .append("salenums", getSalenums())
            .append("newest", getNewest())
            .append("hot", getHot())
            .append("status", getStatus())
            .toString();
    }
}
